Bluetooth is a wireless technology standard, designed to eliminate the need for cabling between devices. Bluetooth supports a network topology known as piconet. In a piconet, a single device, for example a printer, laptop, or network access point, acts as a master device. All other devices in the piconet network are slave devices. A slave device communicates only with the master device, and each slave device may only be connected to one master device at any one time.
A device may assume either the master or the slave role when establishing a piconet. For example, when a personal data assistant (PDA) connects to a printer via a piconet, it is likely the PDA will take the slave role, allowing the printer to be the master. This allows the printer to have simultaneous connections with other devices requiring its services. However, when the PDA connects with other PDAs, it might establish a new piconet and assume the master role in order to share files with more than one other PDA. The master/slave topology has limitations. For example, this topology does not innately allow persistent or peer-to-peer networking, which may be necessary for some applications.
For example, interactive network game applications support players on different devices joined over a network. Such game applications are generally written based on the assumption that a peer-to-peer network exists which allows every device in the session to communicate directly with every other device. Bluetooth piconet and other master-slave topologies allow indirect communication between slaves through the master, but do not support peer-to-peer communication. Slaves in a piconet network communicate only with the master device, therefore two slaves can not communicate directly.
Moreover, master-slave topologies do not have inherent support for persistency, which may be necessary for interactive network applications such as games. Each of the players in a network game may have a widely varying participation time. While the game session is ongoing, some players may quit the game and others may join. Reliance on one device to be a master, with the resulting single point of failure for all communication on the network, can not be used for an application such as an interactive network game which requires a persistent network even while some devices quit and others join the network. If a master-slave network is used, the master device must be the last to leave the network, or the interactive network game session will end prematurely.
In view of the foregoing, there is a need for a technique that overcomes the drawbacks of the prior art.